/**
 * jims
 */
package com.jims.master.modules.oper.dao;

import com.jims.master.common.web.impl.BaseDto;
import com.jims.master.modules.oper.entity.PriceList;
import com.jims.master.common.persistence.CrudDao;
import com.jims.master.common.persistence.annotation.MyBatisDao;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * 价表DAO接口
 * @author CTQ
 * @version 2017-02-22
 */
@MyBatisDao
public interface PriceListDao extends CrudDao<PriceList> {

    public List<PriceList> findListByParam(@Param("q")String q,@Param("clinicId")String clinicId,@Param("limit")String limit,@Param("type") String type);

    /**
     * 获取价表数据
     * @param priceList
     * @return
     */
    public List<BaseDto> findListDto(PriceList priceList);


    /**
     * 收费类别查询价表
     * @param q
     * @param clinicId
     * @param limit
     * @param type
     * @param chargeType
     * @return
     * @author 赵宁
     */
    public List<PriceList> findListByCharge(@Param("q")String q,@Param("clinicId")String clinicId,@Param("limit")String limit,@Param("type") String type,@Param("chargeType")String chargeType);
    /**
     * 通过诊疗项目查询价表项目
     * @param clinicId
     * @return
     */
    public List<PriceList> findListPrice(@Param("clinicId")String clinicId);

    /**
     * 根据规格，单位，项目编码确定一个价表数据
     * @param priceList
     * @return
     */
    public PriceList findPriceByParam(PriceList priceList);

    /**
     * 查询最大itemCode
     * @param orgId
     * @param itemClass
     * @return
     */
    public int getMaxItemCode(@Param("orgId")String orgId,@Param("itemClass")String itemClass);

    /**
     * 根据ID更新停止时间及删除标识
     * @param priceList
     * @return
     */
    public Integer updateById(PriceList priceList);

    /**
     * 更新价表医保类别
     * @param priceId
     * @param medicalInsuranceType
     * @return
     */
    public int updateMedInsType(@Param("priceId") String priceId,@Param("medicalInsuranceType") String medicalInsuranceType);
}